Java, rappels sur les classes : Le quiz
Les exercices sont indépendants.
1/ Si le code suivant est valide, à quoi ressemble au minimum la déclaration de la classe "Humain" ?
Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; Humain utilisateur2 = new Humain(); utilisateur2.nom = "Roberta";
2/ Si le code suivant est valide, à quoi ressemble la signature de la méthode "estMajeur" de la classe "AdministrationFrancaise" ?
Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; utilisateur1.age = 34; AdministrationFrancaise administration = new AdministrationFrancaise(); if (administration.estMajeur(utilisateur1.age)) { System.out.println(utilisateur1.nom + " est majeur en france !"); }
3/ Si le code suivant est valide, à quoi ressemble la signature de la méthode "estPlusAge" de la classe "Humain" ?
Humain utilisateur1 = new Humain(); utilisateur1.nom = "Chico"; utilisateur1.age = 34; Humain utilisateur2 = new Humain(); utilisateur2.nom = "Roberta"; utilisateur2.age = 35; if (utilisateur1.estPlusAge(utilisateur2)) { System.out.println(utilisateur1.nom + " est plus vieux que " + utilisateur2.nom); }
4/ Avec les déclarations suivantes, le code est-il valide ?
Vehicule opelCorsa = new Voiture(); opelCorsa.demarrer(); opelCorsa.accelerer(); opelCorsa.freiner();
Déclarations (valides)
public interface Vehicule { public void accelerer(); public void freiner(); }
public class Voiture implements Vehicule { public void demarrer(){ System.out.print("br-br-broooom"); } public void accelerer(){ System.out.print("vroooom"); } public void freiner(){ System.out.print("hiiiiiiii"); } }
5/ Quel sera le résultat affiché de l'execution de ce programme ?
Animal medor = new Chien(); Animal merlin = new Chat(); Animal joAsticot = new Animal(); Chien chuby = new Yorkshire(); Animal brad1 = new Pitbull(); Chien brad2 = new Pitbull(); Pitbull brad3 = new Pitbull(); medor.communiquer(); merlin.communiquer(); joAsticot.communiquer(); chuby.communiquer(); brad1.communiquer(); brad2.communiquer(); brad3.communiquer(); Chenil.faireConnaissance(brad1, chuby);
Déclarations
public class Chenil { static public void faireConnaissance(Animal premier, Animal second){ premier.communiquer(); second.communiquer(); } }
public class Animal { public void communiquer(){ System.out.print("-"); } }
public class Chien extends Animal { public void communiquer(){ System.out.print("wouaf"); } }
public class Chat extends Animal { public void communiquer(){ System.out.print("miiiaou"); } }
public class Yorkshire extends Chien { public void communiquer(){ System.out.print("waf waf waf waf waf"); } }
public class Pitbull extends Chien { public void communiquer(){ System.out.print("WOUAF!"); } }
6/ Quel sera le résultat affiché de l'execution de ce programme ?
Visiteur jeannot = new Visiteur(); VisiteGuidee visiteDuMusee = new MuseeDuLouvre(); visiteDuMusee.visite(jeannot);
Déclarations
public interface VisiteGuidee { public void visite(Touriste unTouriste); }
public interface Touriste { public void faireLaQueue(int nombreDeMinutes); public void payer(int valeurEnEuros); public void admirer(String oeuvre, int niveauAdmiration); }
public class MuseeDuLouvre implements VisiteGuidee { public void visite(Touriste unTouriste){ unTouriste.faireLaQueue(60); unTouriste.payer(11); unTouriste.admirer("La Joconde", 1); unTouriste.admirer("La Vénus de Milo", 1); unTouriste.admirer("La carte postale de la pyramide dans la boutique", 5); unTouriste.payer(2); } }
public class MuseeGranet implements VisiteGuidee { public void visite(Touriste unTouriste){ unTouriste.faireLaQueue(10); unTouriste.payer(4); unTouriste.admirer("Les Baigneuses de Paul Cézanne", 1); unTouriste.admirer("L'Autoportrait de Rembrandt", 1); unTouriste.admirer("La carte postale d'une cigale dans la boutique", 5); unTouriste.payer(3); } }
public class Visiteur implements Touriste { public void faireLaQueue(int nombreDeMinutes) { System.out.println("Pas de probleme, j'attends " + nombreDeMinutes + " minutes!" ); } public void payer(int valeurEnEuros) { System.out.println(valeurEnEuros + " ? C'est pas cher ! " ); } public void admirer(String oeuvre, int tempsAdmiration) { for (int i=0; i < niveauAdmiration; i++){ System.out.println(oeuvre + ", c'est magnifique ! " ); } } }
7/ A partir de l'exercice précédent, quelles modifications faudrait-il apporter que "jeannot" visite le musée du louvre puis le musée Granet ?
Visiteur jeannot = new Visiteur(); VisiteGuidee visiteDuMusee = new MuseeDuLouvre(); visiteDuMusee.visite(jeannot);